/*
8.编写一个 C 程序，输入一个字符串，然后输出该字符串中所有元音字母（a, e, i, o, u）的个数。

*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define BUFFER_SIZE 100


static int isVowel (char ch)
{
    if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u' || ch == 'A' || ch == 'E' || ch == 'I' || ch == 'O' || ch == 'U') 
    {
        return 1;
    }
    return 0;
}

/* 用传入参数 */
int numberOfVowelLetters(const char *str)
{
    if (str == NULL)
    {
        return 0;
    }
    // for (int idx = 0; idx < strlen(str); idx++) 
    // {
    //     if (str[idx] == 'a' || str[idx] == 'e' || str[idx] == 'i' || str[idx] == 'o' || str[idx] == 'u' || str[idx] == 'A' || str[idx] == 'E' || str[idx] == 'I' || str[idx] == 'O' || str[idx] == 'U') 
    //     {
    //         count++;
    //     }
    // }
    
    /* 指针备份 */
    const char * tmpStr = str;

    int count = 0;

    while (*tmpStr != '\0')
    {
        if (isVowel(*tmpStr))
        {
            count++;
        }
        tmpStr++;
    }

    return count;

}

int main()
{
    char str[BUFFER_SIZE];
    printf("请输入一个字符串：\n");
    scanf("%s", str);

    printf("字符串中所有元音字母的个数为：%d\n", numberOfVowelLetters(str));


    return 0;
}